This application is related to a application entitled xe2x80x9cGRAPHICS PIPELINE INCLUDING COMBINER STAGESxe2x80x9d filed Mar. 22, 1999 and issued under U.S. Pat. No.: 6,333,744, naming David B. Kirk, Matthew Papakipos, Shaun Ho, Walter Donovan, and Curtis Priem as inventors, and which is incorporated herein by reference in its entirety.
The present invention relates to de-interlacing methods, and more particularly to improving de-interlacing in a graphics pipeline.
Computer displays and televisions are known to utilize different display techniques; computer displays utilize a progressive non-interlaced display technique, while televisions utilize an interlaced technique. The progressive display technique creates fields for displaying wherein each field includes complete pixel information for the display. For example, if the computer display is a 640xc3x97480 pixel display, each line of a field would include the appropriate pixel information for display. Thus, each field displayed, which is done at a refresh rate of the computer display (e.g., 60 hertz, 75 hertz, 90 hertz, etc.), is complete. Because each field contains complete pixel information, no human perception filtering is required.
The interlaced technique has two types of fields: top fields and bottom fields. Top fields and bottom fields are also known as odd and even fields. A top field contains only the pixel information for odd lines, while the bottom field includes only pixel information for even lines. As such, both fields are incomplete. When displayed at the refresh rate of the television, which may be approximately 60 hertz in North America, the fields are presented at a rate of 30 top fields and 30 bottom fields per second. Because the interlaced display technique alternates between top fields and bottom fields, the human visual process filters the fields such that complete images are perceived by the viewer. To present interlaced video data on a progressive computer display, various techniques may be utilized.
One such technique is referred to as xe2x80x9cbob.xe2x80x9d The bob technique scales a particular field by calculating additional data from the image data of the lines that are present on a given field. This technique works well for moving images but, for still images, creates fuzzy edges of the images, which degrades the video quality.
Another technique is referred to as a xe2x80x9cweavexe2x80x9d technique. Prior Art FIG. 1 illustrates deinterlacing of top and bottom fields using the weave technique. As shown, the scan lines in the bottom field are mapped to bottom lines on the display, and the scan lines in the top field are mapped to the top lines on the display. While this approach works ideally for stationary images, distracting artifacts are created when the image is moving, since the top and bottom fields are received at different times and describe the image (as seen at the video source) at slightly different moments in time. Typically, the temporal displacement between successive fields is {fraction (1/60)}th of a second. When an image moves, successive video fields present the image in a slightly different position.
If the object moves slowly, and the bottom field and the top field are shown together in the same frame, any edge becomes blurred or shadowed, as the two images appear close to one another. Another problem caused by the motion of the object is double-vision or ghosting, seen when the object is moving more quickly. One effect of the motion of the image is shown in Prior Art FIG. 1A. Two images may be presented, as the bottom lines of the image show one field and the top lines of the image show a different field. Because the top and bottom fields are from different times, combining the two images in a xe2x80x9cstatic meshxe2x80x9d can produce a xe2x80x9ctearingxe2x80x9d or xe2x80x9cfeatheringxe2x80x9d around the edges of moving items. This effect is highly noticeable to many users.
Some progressive display systems rely on filters such as xe2x80x9cflicker filtersxe2x80x9d to allow the progressive display systems to output images to an interlaced display such as a television. In the absence of such flicker filters, such systems alternately output one of the fields for each frame since a television is not equipped to output both fields produced by the progressive display system. This technique, however, suffers from aliasing due to the fact that it often takes each field a different amount of time to be produced by the progressive display system.
There is thus a need for reducing the negative effects of xe2x80x9ctearingxe2x80x9d or xe2x80x9cfeatheringxe2x80x9d in progressive display systems, and further abate these and other aliasing problems in progressive display systems that are equipped to output to an interlaced display system such as a television.
A system, method and computer program product are provided for improving image quality in a graphics pipeline. Initially, a difference is detected between a first pixel of a first frame to be outputted and a corresponding second pixel of a second frame outputted before the first frame. Such difference may be representative of motion which is capable of reducing image quality. A pixel output is then modified if such a difference is detected. This is accomplished utilizing texturing hardware in the graphics pipeline. Thereafter, the pixel output is outputted via a progressive or interlaced display system.
In one embodiment, the pixel output may be outputted to an interlaced display system. In such embodiment, the difference may involve R-values, G-values, or B-values. Moreover, flicker filtering may optionally be applied to the pixel output.
In another embodiment, the pixel output may be outputted to a progressive display system. In such embodiment, the aforementioned difference may involve a difference in luminance, chrominance, etc. that is indicative of motion.
A graphics pipeline is thus provided including texturing hardware adapted for detecting the difference between a first pixel of the first frame to be outputted and the corresponding second pixel of a second frame outputted before the first frame, and modifying a pixel output if the difference is detected. As such, the quality of the pixel output is improved.
In another embodiment, a system, method and computer program product are provided for improving image quality in a graphics pipeline on a per-pixel basis. Initially, a previous frame and a current frame are identified each including a first field and a second field. Further identified are a first pixel value of a pixel in one of the fields of the previous frame, and a second pixel value of a corresponding pixel in a corresponding one of the fields of the current frame. It is then determined whether a difference between the first pixel value and the second pixel value exceeds a predetermined threshold. If the difference exceeds the predetermined threshold, a pixel of the second field of the current frame is altered or modified to improve output picture quality when outputted.
As an option, the pixel of the second field of the current frame may be modified by combining a pixel value of the pixel of the second field of the current frame with a pixel value of a corresponding pixel of the second field of the previous frame. This may be accomplished utilizing a weighted average, or any other calculation.
Once altered, the modified pixel may be merged with a pixel of the first field of the current frame. Of course, any other output technique may be applied based on the particular output display system being utilized.
In one aspect of the present embodiment, the pixel values may include chrominance values, luminance values, R-values, G-values, B-values, etc. Similar to the previous embodiment, the present embodiment may be executed by texturing hardware in a graphics pipeline.
These and other advantages of the present invention will become apparent upon reading the following detailed description and studying the various figures of the drawings.